#state_MapEditorState{

  header, .editor-content{
    *{
      pointer-events: all;
    }
  }

  header{
    background: white;
    height: 50px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #dedede;

    .logo, .site{
      font-size: 24px;
    }

    .control{
      display: flex;
      align-items: center;

      button{
        width: 30px;
        margin-left: 15px;

        img{
          width: 100%;
        }
      }
    }
  }

  .editor-content{
    display: flex;
    height: calc(100% - 50px);

    .map-line, .map-arrow{
      position: absolute;
      width: 10000px;
      height: 10000px;
      left: -5000px;
      top: -5000px;

      path{
        stroke-dasharray: 5;
        stroke-width: 2px;
        fill: transparent;
        stroke: #888;
      }
    }
    .map-arrow{
      .arrow{
        width: 30px;
        height: 30px;
        position: absolute;
      }
    }
    .map-wrapper{
      overflow: hidden;
      width: calc(100% - 600px);
      position: relative;

      .worldSite, .mapSite{
        // @include InlineAnimation(.6s){
        //   0%{transform: scale(0); opacity: 0;}
        //   100%{transform: scale(1); opacity: 1;}
        // }     
        transition: .3s;
        cursor: pointer;
      }

      .worldSite{
        position: absolute;
        background: white;
        border: 1px solid #dedede;
        text-align: center;
        
        h3{
          font-size: 18px;
          border-bottom: 1px solid #ededed;
        }
        p{
          padding: 5px;
          font-size: 14px;
          line-height: 20px;
          color: #777;
        }
      }
      
      .mapSite{
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        background: rgb(255, 255, 255);
        color: #333;
        font-size: 14px;
        pointer-events: all;
        text-align: center;
        line-height: 16px;
        @include DropShadow;

        &.active::before{
          // transform: scale(1.2);
          content: '';
          display: block;
          background: uiResource('effect/btn-active.png') center/cover;
          width: 130%;
          height: 130%;
          position: absolute;
          z-index: 10;

          @include InlineAnimation(.6s){
            0%, 100%{transform: scale(1);}
            50%{transform: scale(1.1);}
          }
          animation-iteration-count: infinite !important;
        }
      }
    }
    .attr-panel, .control-panel{
      width: 300px;
      background: white;
      padding: 0 10px;
      position: relative;
      .styledButton{
        @include S(font-size, 10px);
        @include S(margin-top, 5px);
      }

      .page{
        overflow-y: auto;
        overflow-x: hidden;
        height: 100%;
      }

      .select-page-btn{
        position: absolute;
        left: 0;
        transform: translateX(-100%);
        top: 40px;

        .item{
          font-size: 16px;
          background: rgb(128, 128, 128);
          writing-mode: vertical-lr;
          margin-bottom: 10px;
          padding: 20px 5px;
          color: white;
          cursor: pointer;

          &.active{
            background: white;
            color: #888;
          }
        }
      }

      h2{
        font-size: 22px;
        margin-top: 10px;
        margin-bottom: 5px;
      }
      h3{
        font-size: 20px;
        margin-bottom: 5px;
        margin-top: 10px;
        font-weight: 400;
      }

      input{
        font-size: 16px;
        padding: 10px;

        &.pointer{
          cursor: pointer;
        }
      }
    }

    .attr-panel{
      border-left: 1px solid #dedede;
    }

    .control-panel{
      border-right: 1px solid #dedede;
    }

    .site-list{
      .styledButton{
        font-size: 16px;
        margin-bottom: 10px;
        margin-right: 10px;
        display: inline-block;
      }
    }

    .tip{
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 55px;
      font-size: 14px;
      color: #666;
    }
        
    p{
      font-size: 16px;
      line-height: 24px;
    }

    .nextSites{
      .next{
        border-radius: 5px;
        margin-bottom: 10px;
        cursor: pointer;

        label{
          cursor: pointer;
          display: inline-block;
          width: 50px;
        }
      }
    }
  }

  .point{
    position: absolute;
    font-size: 14px;
    transform: translate(-50%, -50px);
    white-space: nowrap;
  }

  .rightmenu{
    position: absolute;
    display: none;
    z-index: 100;
    background: white;
    border-radius: 5px;
    border: 1px solid #dedede;
    box-shadow: 3px 3px 2px rgb(158, 158, 158);

    .btn{
      font-size: 16px;
      line-height: 20px;
      padding: 10px 20px;
      border-bottom: 1px solid #dedede;
      pointer-events: all;
      cursor: pointer;

      &:hover{
        background: rgb(235, 235, 235);
      }
    }

    &.show{
      display: block;
    }
  }
}